﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace smartvoid.secciones
{
    public partial class Debates : System.Web.UI.Page
    {
        int idGrupo = 0;
        protected void Page_Load(object sender, EventArgs e)
        {
            if (Session["Grupo"] != null)
            {
                idGrupo = Int32.Parse(Session["Grupo"].ToString());
            }
            PHDebatesDelGrupo.Controls.Clear();
            Literal htmlCode = new Literal();
            htmlCode.Text = @"<table class=""hovertable"">
                                    <tr>
	                                <th style=""width: 160px"">Fecha de creación</th>
                                    <th>Título</th>
                                    <th style=""width: 110px"">Usuario creador</th>
                                    </tr>";
            using (var context = new SmartVoidEntities())
            {
                var query = (from a in context.Debates
                             where a.d_IDGrupo == idGrupo
                             orderby a.d_IDDebate descending
                             select a);
                if (query != null)
                {
                    foreach (var obj in query)
                    {
                        htmlCode.Text = htmlCode.Text + @"<tr onmouseover=""this.style.backgroundColor='#EDCEE8';"" onmouseout=""this.style.backgroundColor='#EAEAEA';"">";
                        htmlCode.Text = htmlCode.Text + "<td>" + obj.d_FechaDeCreacion + "</td>"; // Fecha de Creación
                        htmlCode.Text = htmlCode.Text + @"<td><a href=""ComentariosDebate.aspx?idDebate=" + obj.d_IDDebate + @""">" + "" + obj.d_Titulo + "</a></td>"; // Titulo Debate
                        htmlCode.Text = htmlCode.Text + "<td>" + obj.d_IniciadoPor + "</td>"; // Usuario Creador
                        htmlCode.Text = htmlCode.Text + "</tr>";
                    }
                }
            }
            htmlCode.Text = htmlCode.Text + "</table>";
            PHDebatesDelGrupo.Controls.Add(htmlCode);
            //}
        }

        int contarDebates()
        {
            using (var SmartVctx = new SmartVoidEntities())
            {
                int contar;

                try
                {
                    contar = SmartVctx.Debates.Max(p => p.d_IDDebate);
                }
                catch (InvalidOperationException ex)
                {
                    contar = 0;
                }

                return contar;
            }
        }

        int contarComentarios()
        {
            using (var SmartVctx = new SmartVoidEntities())
            {
                int contar;

                try
                {
                    contar = SmartVctx.Comentarios.Max(p => p.c_IDComentario);
                }
                catch (InvalidOperationException ex)
                {
                    contar = 0;
                }

                return contar;
            }
        }

        protected void lkComentar_Click(object sender, EventArgs e)
        {
            using (var SmartVctx = new SmartVoidEntities())
            {
                Usuario user = Session["Usuario"] as Usuario;
                int idDebate = contarDebates() + 1;
                String IniciadoPor = user.u_Usuario;

                Debate objDebates = new Debate();
                objDebates.d_IDDebate = idDebate;
                objDebates.d_IDGrupo = idGrupo;
                objDebates.d_Titulo = txtTituloDebate.Text;
                objDebates.d_IniciadoPor = IniciadoPor;
                objDebates.d_Mensaje = txtPrimerComentario.Text;
                objDebates.d_FechaDeCreacion = DateTime.Now;
                SmartVctx.Debates.AddObject(objDebates);

                Comentario objComentario = new Comentario();
                objComentario.c_IDGrupo = idGrupo;
                objComentario.c_IDDebate = idDebate;
                objComentario.c_IDComentario = contarComentarios() + 1;
                objComentario.c_Autor = IniciadoPor;
                objComentario.c_Mensaje = txtPrimerComentario.Text;
                objComentario.c_FechaDeCreacion = DateTime.Now;
                SmartVctx.Comentarios.AddObject(objComentario);

                SmartVctx.SaveChanges();
                Response.Redirect("Debates.aspx");
            }
        }
    }
}